const utils = {
    /**
     * 交换值
     */
  swap(array, a, b) {
    [array[a], array[b]] = [array[b], array[a]]
  },
  /**
   * 随机数
   */
  randomNum() {
    return Math.floor(Math.random() * 100)
  },
  /**
   * 根据随机数生成数组
   */
  randomArray() {
    return Array.from(Array(this.randomNum()), _ => this.randomNum())
  }
}
/**
 * 选择排序
 */
function selectionSort(array) {
  for (let i = 0; i < array.length - 1; i++) {
    let minIndex = i
    for (let j = i; j < array.length; j++) {
      if (array[minIndex] > array[j]) {
        minIndex = j
      }
    }
    if (minIndex !== i) {
      utils.swap(array, i, minIndex)
    }
  }
  return array
}

const array = selectionSort(utils.randomArray())
console.log(array)
